<?php


namespace app\admin\listener;

use app\admin\model\NoticeTmp;
use app\admin\facade\NoticeTmp as NoticeTmpF;

class AdminSendNotice
{
    /**
     * 事件监听处理
     *
     * @return mixed
     */
    public function handle($data)
    {
        //根据消息类型查询模板
        switch ($data['tmp_flag']){
            case 'system': //系统消息
                //根据模板中的信息查询发送方式
                $notice_result = NoticeTmp::where('tmp_flag', $data['tmp_flag'])->where('status', 1)->find();
                if(empty($notice_result)){
                    return re_error_json(msg_code(25)); //模板信息不可以为空！
                }
                $notice_result = $notice_result->toArray();
                $send_method = json_decode($notice_result['send_method'], true);
                $data['type'] = $notice_result['type']; //消息类型
                //循环消息方式
                foreach($send_method as $k=>$v){
                    NoticeTmpF::byTmpSendNotice($v, $notice_result, $data);
                }
                break;
        }
    }


}